home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / EnumItem.C < prev    next >
C/C++ Source or Header  |  1990-11-30  |  2KB  |  66 lines

  1. //$EnumItem$
  2.  
  3. #include "EnumItem.h"
  4. #include "Expander.h"
  5. #include "Buttons.h"
  6. #include "ObjectTable.h"
  7.  
  8. //---- EnumItem ----------------------------------------------------------------
  9.  
  10. static u_short SliderUpBits[]= {
  11. #   include "images/SliderButtonUp.image"
  12. };
  13.  
  14. static u_short SliderDownBits[]= {
  15. #   include "images/SliderButtonDown.image"
  16. };
  17.  
  18. static u_short SliderUpInvBits[]= {
  19. #   include "images/SliderButtonUpInv.image"
  20. };
  21.  
  22. static u_short SliderDownInvBits[]= {
  23. #   include "images/SliderButtonDownInv.image"
  24. };
  25.  
  26. static Bitmap *SliderUp, *SliderDown, *SliderUpInv, *SliderDownInv;
  27.  
  28. MetaImpl0(EnumItem);
  29.  
  30. EnumItem::EnumItem(int id, VObjAlign, VObject *ci, Point gap)
  31.             : Cluster(id, eVObjVCenter, gap, (Collection*)0)
  32. {
  33.     if (SliderUp == 0)
  34.     ObjectTable::AddRoots(
  35.         SliderUp= new Bitmap(Point(13,10), SliderUpBits),
  36.         SliderDown= new Bitmap(Point(13,10), SliderDownBits),
  37.         SliderUpInv= new Bitmap(Point(13,10), SliderUpInvBits),
  38.         SliderDownInv= new Bitmap(Point(13,10), SliderDownInvBits),
  39.         0);
  40.     Add(ci);
  41.     Add(new Expander(cIdNone, eVert, gPoint0, 
  42.         new ImageButton(cIdUp, SliderUp, SliderUpInv, TRUE),
  43.         new ImageButton(cIdDown, SliderDown, SliderDownInv, TRUE),
  44.         0
  45.         )
  46.     );
  47. }
  48.  
  49. void EnumItem::Control(int id, int part, void *val)
  50. {
  51.     switch (id) {
  52.     case cIdDown:
  53.     At(0)->SendDown(0, cPartDecr, 0);
  54.     UpdateEvent();
  55.     break;
  56.     case cIdUp:
  57.     At(0)->SendDown(0, cPartIncr, 0);
  58.     UpdateEvent();
  59.     break;
  60.     default:
  61.     Cluster::Control(id, part, val);
  62.     break;
  63.     }
  64. }
  65.  
  66.